home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
casterli.arc
/
DLIST.4TH
< prev
next >
Wrap
Text File
|
1986-04-26
|
3KB
|
27 lines
( Printing and Listing Words - Screen 1 )
0 VARIABLE SCREENCOUNT
0 VARIABLE PFLAG
: PRON PON 1 PFLAG ! ; ( Turns printer on, sets flag )
: PROFF POFF 0 PFLAG ! ; ( Turns printer off, resets flag )
: LISTSCRNS CR 1+ SWAP 2DUP ( START END --- )
." Screens " . ." thru " 1- .
CR 0 SCREENCOUNT ! DO 1 SCREENCOUNT +! I LIST SCREENCOUNT
@ 3 = IF 0 SCREENCOUNT ! 12 EMIT THEN LOOP 12 EMIT ;
( Lists consecutive screens from START to END )
-->
( Printing and Listing Words - Screen 2 )
( These words are part of the definition for DLIST )
0 VARIABLE CHAR? ( Holds character to search for )
0 VARIABLE #PRTED ( Number of words on current output line )
: 1STCHAR ( NFA --- NFA ASCII )
DUP 1+ C@ ; ( Gets 1st letter of name field )
: GETCHAR BL WORD HERE 1+ C@ DUP 0= IF CR CR
." DLIST requir -->( Stack Words - Screen 2 ) : .P CR DEPTH 0= IF ." .P: Stack Empty. " CR QUIT THEN ." (Top) " DEPTH 1+ 1 DO I PICK . LOOP ." (Bottom) " CR SP! ." The stack has been emptied. " CR ; ( Does a [signed] stack print, then clears stack ) : S. CR DEPTH 0= IF ." S.: Stack Empty. " CR QUIT THEN ." (Top) " DEPTH 1+ 1 DO I PICK . LOOP ." (Bottom) " CR ; ( Does a [signed] stack print without clearing stack ) -->( Stack Words - Screen 3 ) ( : USPLIT DUP DUP 0 256 U/ SWAP DROP 256 U* DROP - ) ( SWAP 0 256 U/ SWAP DROP SWAP ; ) ( U --- MSB LSB ) ( Unsigned number replaced by MSB & LSB ) ( NEED A U/ DEF TO MAKE THIS WORK WITH MVPFORTH! ) : UJOIN SWAP 256 * + ; ( MSB LSB --- U ) ( MSB & LSB replaced by unsigned number ) üα └tδδ\╕ ëF¼ïFëFⁿïvⁿ Fⁿèüα PΦ╘µâ─ïv■ F■êüα â°\uδïF¼└t N¼δ N■δ╔ïF■ìV░â┬C;╨sΘ█ ïFⁿëFΘm ïF■ìV░â┬;╨s N■╕ ïv■ê